Tracking business performance impact of optimized sourcing algorithms

ABSTRACT

A method for continuously tracking business performance impact of order sourcing systems and algorithms that decide how ecommerce orders should be fulfilled by assigning the items of the order to nodes in a fulfillment network such as stores, distribution centers, and third party logistics—to provide automatic root cause analysis and solution recommendations to pre-defined business problems arising from KPI monitoring. A Business Intelligence (BI) dashboard architecture operates with: 1) a monitoring module that continuously monitors business KPIs and creates abnormality alerts; and 2) a root cause analysis module that is designed specifically for each business problem to give real time diagnosis and solution recommendation. The root cause analysis module receives the created alert, and triggers conducting a root cause analysis at an analytics engine. The BI dashboard and user interface enables visualization of the KPI performance and root cause analysis results.

CROSS REFERENCE TO RELATED PATENTS AND APPLICATIONS

This application claims priority from U.S. Provisional PatentApplication No. 62/279,738 filed Jan. 16, 2016 and U.S. ProvisionalPatent Application No. 62/337,089 filed on May 16, 2016, which isincorporated by reference as if fully set forth herein in its entirety.

FIELD

The present application relates generally to computers, and computerapplications, and more particularly to computer-implemented method togenerate sourcing selections for continuously tracking businessperformance impact of optimized sourcing algorithms.

BACKGROUND

An order fulfillment and sourcing engine touches every aspect of ane-retailer's business, e.g., warehouse inventory, fulfillment centerprocessing capacity, and outbound shipments. Business users need a BI(business intelligence) dashboard tool or like data visualization toolfor displaying the current status of metrics and key performanceindicators (KPIs) and monitor KPIs performance, diagnose operationaldisruptions and find solutions in real time.

The standard practice in the industry is to monitor business KPIs for anorder fulfillment system in real time. However, such practice onlytracks the outcomes of the order fulfillment optimization system, anddoes not provide explicit and automatic root cause analysis when abusiness KPI deteriorates.

Business users have to perform ad-hoc data analysis to diagnose aproblem, which could take very long before finding a solution. If theorder fulfillment system goes offline due to the delayed diagnosis, theretailer could lose millions of dollars in sales.

BRIEF SUMMARY

A system and method for continuously tracking business performanceimpact of order sourcing systems, i.e., systems that determine how toassign the items of an order to nodes, such as stores or distributioncenters, in a network for fulfillment.

The system and method additionally provides for automatic root causeanalysis and solution recommendations to pre-defined business problemsarising from KPI monitoring. It provides better support to businessusers than traditional KPI monitoring systems because of its automaticroot cause analysis and solution recommendation.

In one aspect, there is provided a method of tracking businessperformance. The method comprises: monitoring, at the processor device,data from one or more real-time data streams, computing at the processordevice, based on the data from the one or more real-time data streams, aperformance indicator value associated with a business operation;evaluating, at the processor device the computed performance indicatorvalue against a predetermined value associated with that performanceindicator; automatically generating, by the processor device, an alertsignal responsive to a computed performance indicator evaluated as oneof: not achieving the predetermined value or exceeding the predeterminedvalue for that performance indicator; communicating the alert signal toa root cause analyzer device selected to analyze a cause for theperformance indicator one of: not achieving the predetermined value orexceeding the predetermined value for that performance indicator;determining, at the selected root cause analyzer device, a root causeanalysis result for the performance indicator; and providing, via a userinterface device, a recommendation to improve a performance measure ofthe business operation based on the determined root cause analysisresult.

In a further aspect, there is provided a system of tracking businessperformance. The system comprises one or more processor devicesassociated with a computer system, and a storage device associated withthe computer system for storing instructions to configure the one ormore processor devices to: monitor data from one or more real-time datastreams, compute, based on the data from the one or more real-time datastreams, a performance indicator value associated with a businessoperation; evaluate the computed performance indicator value against apredetermined value associated with that performance indicator;automatically generate an alert signal responsive to a computedperformance indicator evaluated as one of: not achieving thepredetermined value or exceeding the predetermined value for thatperformance indicator; communicate the alert signal to a root causeanalyzer device selected to analyze a cause for the performanceindicator one of: not achieving the predetermined value or exceeding thepredetermined value for that performance indicator; determine, at theselected root cause analyzer device, a root cause analysis result forthe performance indicator; and provide, via a user interface device, arecommendation to improve a performance measure of the businessoperation based on the determined root cause analysis result.

A computer program product for storing a program of instructionsexecutable by a machine to perform one or more methods described hereinalso may be provided.

Further features as well as the structure and operation of variousembodiments are described in detail below with reference to theaccompanying drawings. In the drawings, like reference numbers indicateidentical or functionally similar elements.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 shows a computing system and networked architecture that includesa real time KPI monitoring module and a root cause analysis managermodule in one embodiment;

FIG. 2A shows a flow chart depicting the general processing at the KPIanalytics engine of FIG. 1 in one embodiment;

FIG. 2B, there is shown a flow chart depicting a method employed by theRoot Cause analysis manager module of FIG. 1 in one embodiment;

FIG. 3 depicts real-time operating methods run at a Shipment CostAnalysis Engine for determining a root cause failure analysis relatingto a particular product shipping delay issue according to oneembodiment;

FIG. 4 depicts real-time operating methods run at an InventoryPerformance Analysis Engine for determining a root cause failureanalysis of a product inventory issue or failure according to oneembodiment;

FIG. 5 depicts real-time operating methods run at an Ontime deliveryanalysis engine for determining a root cause failure analysis of why anorder shipment has been delayed according to one embodiment;

FIG. 6 depicts an example of a generated demand destination average zonemap (average zone at store level) according to one embodiment;

FIG. 7 depicts a plot of average shipment zone to demand points, wherethe location of spots are shown plotted against a map of an areaaccording to one embodiment; and

FIG. 8 depicts an example BI dashboard display interface generated for auser to indicate a result of implementing the analytics methods of thepresent disclosure; and

FIG. 9 depicts an exemplary hardware configuration for performingmethods such as described in one embodiment.

DETAILED DESCRIPTION

A computer system and computer-implemented method continuously tracksbusiness performance impact data including KPIs, provides for automaticroot cause analysis and provides solution recommendations to pre-definedbusiness problems arising from KPI monitoring. Automatic root causeanalysis and solution recommendation provides better support to businessusers than traditional KPI monitoring systems.

As shown in FIG. 1, the system 100 is a computing system and networkedarchitecture that includes two integrated modules: 1) the real time KPImonitoring module 102 which runs methods for continuously monitoringbusiness KPIs and create abnormality alerts 104; and 2) a root causeanalysis manager module 112 which runs various analytics enginesdesigned specifically for different business problems. These modules102, 112 may be embodied in server devices, e.g., back-end networkservers associated with an enterprise. Module 102 receives KPI data inreal-time or near real-time, process the data, and provide processeddata for display/update at a user interface (UI) providing a BI“dashboard” 108. The dashboard 108 receives real time KPI data 106 fromKPI analysis engine 102 and periodically refreshes its data display. Thedashboard further enables business users to customize and filter datafor display using techniques known in the art.

As described in exemplary embodiments herein, the dashboard 108 isconfigured to receive root cause analysis results 114 from the rootcause analysis manager 112 and create reports for users to visualize theroot cause analysis results, in real-time, and enable a user to act onthe results of the root cause analysis. Thus, for example, if a KPI viathe BI dashboard indicates that an order has been delayed, the rootcause analysis conducted may reveal the reason for the delay at aparticular order fulfillment node (e.g., inventory issues, a shippingissue, backlog/worker fulfillment issue, etc.) and suggest or recommendany corrective action that may be taken to alleviate the reason fordelay. At the very least it flags the issue to allow the business usersto be aware of it and take action. For example, it may determine anorder was delayed due to heavy load/backlog on the node—i.e., a build-upof online orders assigned to the node for fulfillment for which it justdoes not have the capacity to process due to limited workers. If itfurther determines that there are other nodes nearby that are lessbacklogged and could fill the sort of orders it has been receiving, itmay suggest to adjust the fulfillment engine settings to send lessorders to that node, or to re-assign the backlog of the node to othernearby nodes—listing out these reasons for the suggested actions.

In particular, the KPI monitoring module 102 receives data from realtime data streams (e.g., optimization outputs) from order fulfillmentoptimization engine 132 and actual order fulfillment data from an OrderManagement System 134.

From the received real time data streams from order fulfillmentoptimization engine and order management system, the KPI monitoringsystem 102 calculates and updates real time KPI data 106 including, butnot limited to such KPI data as: on-time delivery rate, average shipmentzones, average order split rate, etc. The KPI monitoring system providessuch updated/real time KPI data 106 to the Dashboard and UI 108 fromwhich users may view and make decisions. Thus, as an example, a storethat has depleted its inventory may cause orders to be cut-off orincreased rate of back-orders which is a user may perceive as a problem.The user, accessing the dashboard, e.g., via a weblink, may have todrill down to obtain the relevant data and perform further processing inorder to find out the cause of the actual performance issue (e.g., astore closing or depleted inventory). That is, for the case of storeclosing, the additional information may reveal the store was cut-offfrom e-commerce order fulfillment or that it was heavily over capacity,and so could not take further orders. For the case of depletedinventory, it may reveal that the inventory expected to be at that nodeto fulfill certain orders was already depleted. Further informationobtained when drilling down into the problem via the UI, such as thetime the inventory sold out at the store node, the replenishmentschedule, and the walk-in sales velocity, may reveal that to the highsales velocity at the store, the replenishment needs to be triggeredmuch earlier (by a higher inventory level)—leading to the suggestion toincrease the replenishment threshold.

In one embodiment, the KPI monitoring system 102 includes a KPI dataanalytics engine that runs methods to thus determine abnormaloccurrences or disturbances in the order fulfillment performanceindicators, and trigger abnormality alerts when a KPI performanceindicator: does not reach or achieve an acceptable predetermined limitor threshold value, or alternatively, exceeds an unacceptablepredetermined limit or threshold value for that performance indicator.For example, from the historical fulfillment results, it might bedetermined that a rate of around 0.04% order cancellations (when anorder or some part of it is cancelled to the customer—informing thecustomer they cannot receive the item they ordered) is the currentnormal operating procedure, so an automatic threshold based on, forexample, being two standard deviations beyond the mean rate, or set bythe business user, may be used to flag an anomalous cancel rate. Ifsuddenly the rate of cancellation of orders passes this threshold—i.e.,spikes to a much higher value, then the business users will beimmediately notified of the problem and can take action remedy it.

As shown in FIG. 1, the abnormality alerts 104 are used to inform thebusiness users and responsive alert signals trigger the root causeanalysis module 112 to diagnose a specific business problem. The rootcause analysis manager module 112 manages a collection of root causeanalysis engines 142, 144, 146 which are designed for diagnosingspecific business problem. For example, an analysis engines may includea Shipment Cost Analysis Engine 142, an Inventory performance analysisengine 144, and an On-time delivery analysis engine 146. Each of theanalysis engines 142, 144, 146 makes use of the following data sourcetypes: Shipment data 152, Distributor capacity data 154, Carrier data156, Inventory data 158, Demand/order data 160, Receipts data 162,Backlog/cancellation data 164, and Shipment rate cards data 166.

It is understood that there may be other types of root-cause analyticengines that can be operated in parallel besides those shown in FIG. 1each designed for a specific business problem to give real timediagnosis and solution recommendations. The root cause analysis managermodule 112 provides root cause analysis results 114 to the BI dashboard108 where a user interface module is provided to present and visualizeKPI performance data 106 and root cause analysis results 114.

Referring to FIG. 2A, there is shown a flow chart depicting a method 200employed by the KPI analytics engine run on a computer system such asshown in FIG. 9. First step 202 depicts receiving at the KPI analyticsengine 102, the relevant OMS fulfillment data from the OMS processingand receiving and extracting from the data streams the relevant orderfulfillment optimization data for use in computing a specific KPI value.This data is typically processed and packaged for updating the BIdashboard display 108 of FIG. 1. Thus, at 208, as part of typical KPIanalytics engine processing, the OMS fulfillment data and optimizedorder fulfillment optimization data is processed to determine a valuefor the subject KPI. Then at 212, the KPI analytics engine makes afurther determination as to whether the computed KPI value is fails tomeet or exceeds a relevant target KPI threshold(s). For example, fromthe historical fulfillment results, it might be determined that a rateof around 0.04% order cancellations (when an order or some part of it iscancelled to the customer—informing the customer they cannot receive theitem they ordered) is the current normal operating procedure, so anautomatic threshold based on, for example, being two standard deviationsbeyond the mean rate, or set by the business user, may be used to flagan anomalous cancel rate—that is used as the threshold value, forexample, 0.1%. If suddenly the rate of cancellation of orders passesthis threshold—i.e., suddenly becomes larger than 0.1%, then thebusiness users will be immediately notified of the problem and can takeaction remedy it. As another example, number of upgrades from a node orgroup of nodes may be another KPI related to the shipping costcomponent. From historical trends it may be seen that for the particularnode, an upgrade rate of 2% is normal, and 4% under heavy load times. Athreshold during normal times of 3% may be set, if the percentage ofupgrades of orders assigned to the node surpasses 3% in a given timeperiod, performance failure will be flagged. If at 212, it is determinedthat the KPI value is within the relevant target threshold, then theprocess proceeds to 220 to generate and/or update the KPI data value atthe BI dashboard display. The method then returns to step 202 to processthe OMS and fulfillment data to obtain a further KPI data value.

Otherwise, at 212, FIG. 2A, if it is determined that the KPI value isnot within the relevant target threshold, then the process proceeds to215 to generate an abnormality alert signal for that failed KPI andcommunicate that abnormality alert signal to a root cause analysismanager engine for root cause analysis processing thereat. In additionto the calling the root cause analysis manager engine for processingthereat, the BI dashboard display may be updated with the failed KPIdata value at 220. Ultimately, the KPI analysis engine processingreturns to step 202 to repeat KPI performance monitoring.

Referring to FIG. 2B, there is shown a flow chart depicting a method 250employed by the Root Cause analysis manager 112 run on the same ordifferent computer system such as shown in FIG. 9. A first step 255depicts monitoring receipt of signals such as from the KPU analyticengine 102 to detect a trigger signal for initiating a root causeanalysis. The Root Cause analysis manager 112 is idle until such asignal is received at 255. Once a trigger signal is received, the RootCause analysis manager 112 at 265 determines, from the alert triggersignal, the type of KPI; calls a specific root cause analysis engine;and automatically obtains the relevant data used to determine the rootcause for that KPI value fail. The relevant data may be obtained from asingle or multiple storage devices providing the data for which the KPIvalue is derived from. In one embodiment, the Root Cause analysismanager 112 may request a shipment cost analysis engine 142 to perform aroot cause failure analysis such as shown and described with respect toFIG. 3; alternately, the Root Cause analysis manager 112 may request aninventory performance analysis engine 144 to perform a root causefailure analysis such as shown and described with respect to FIG. 4; andfor example, the Root Cause analysis manager 112 may request an on-timedelivery analysis engine 146 to perform a root cause failure analysissuch as shown and described with respect to FIG. 5.

Returning to FIG. 2B, at 275, the specific Root Cause analysis manager112 initiates the root cause analysis processing at the specific rootcause analysis engine 142, 144, 146, and processes the data to determineroot cause for that KPI value fail. In FIG. 2B, at 285, the analysisengine sends the root cause analysis results to the BI Dashboard fordisplay and viewing thereat. This process subsequently returns to idlestate at 255 to wait for a next trigger for a further root causeanalysis. It is understood that while only three types of root causeanalysis engines 142, 144, 146 are shown, it is understood that othertypes of root cause analyses may be conducted separately, or inaddition, and the process may thus call other specific root causefailure analysis engines depending on the KPI failure type. Oncepresented with a root cause analysis information, a user viewing the BIdashboard may take an action, e.g., re-supply inventory for a product ata node. For example, if it is determined inventory was depleted,analysis may reveal that the inventory expected to be at that node tofulfill certain orders was already depleted. Further informationobtained when analyzing the problem, such as the time the inventory soldout at the store node, the replenishment schedule, and the walk-in salesvelocity, may reveal that to the high sales velocity at the store, thereplenishment needs to be triggered much earlier (by a higher inventorylevel)—leading to the suggestion or action to increase the replenishmentthreshold. As another example, if high cancellation rate is discovered,root cause analysis may reveal the fulfillment engine is rejectingorders, even though inventory is available to fulfill those orders. Inthis case further investigation of the rejection may reveal a missingdata issue, and the business user can take action to update the data forthe fulfillment engine.

Referring now to FIG. 3, there are provided operating methods 300 run atthe Shipment Cost Analysis Engine 142 for determining a root causefailure analysis of a particular shipment delay KPI failure, forexample, if shipping cost per order for a node or group of nodes passesa threshold, or if packages per order passes a threshold, or if numberof upgrades passes a threshold, etc. As shown in FIG. 3, this analysisengine is caused to receive the following data from the OMS and othersystems including, but not limited to: Shipment data 152—which datacaptures how orders were finally shipped to the customer—i.e., what werethe package assignments and final carrier costs and which carrier wasused and time of actual shipment, Inventory data 158—which captures theinventory levels for different items at different nodes at differentpoints in time, Geo-location data 168—which captures such information asthe location of the nodes in the networks and shipping zones betweendifferent locations; Shipment rate cards data 166—which captures thecarrier rates—the cost of shipping packages of different weights acrossdifferent pairs of origins and destinations for different carriers, andOrder Management System (OMS) Order data 170—which data captures theinformation around the orders and their sourcing including what itemswere part of each order and which nodes they were assigned to forsourcing and when. The first step 305 of the Shipment Cost Analysismethod 300 includes the processing and formatting of the data frommultiple sources such as OMS, IMS, and TMS systems, etc. Further at 305of the Shipment Cost Analysis method 300, the analysis engine 142performs a data integrity check and verifies location, time zone, etc.This is necessary to be sure there is no issue with the data for whichvarious decisions and analysis results are based on. For example, itmight be discovered from the check that there are nodes in the networkbelonging to certain zip codes, but no rate information for those zipcodes—i.e., missing rate card data—in which case rates could not bedetermined for those nodes.

Continuing at 310 of the Shipment Cost Analysis method 300, the analysisengine 142 creates analysis charts and shipment cost KPIs. At step 310,the shipment cost analysis engine may create KPIs such as, but notlimited to: average zone, average order split, etc. Further generatedmay include a shipment lane volume chart, e.g., by origin anddestination, and a demand destination average zone map. This is done byusing such techniques as aggregation, joining, and summarization methodsbuilt into most modern database systems, or map-reduce style operationsin big data systems. That is, it involves grouping data by certainattributes and computing statistics for values in the group. Forexample, to get average zones traveled for orders at a node, the systemwould group by, or filter, the set of orders shipped or sourced(sourcing details) to get just the sourcing results for orders fulfilledfrom the node in some past time period. Then this set would be joinedwith a zipcode pair to zones map (holding the number of zones for eachorigin-destination zipcode pair) on the origin and destination columnsof the sourcing data to obtain the zones for each order. Finally summarystatistics would be computed on the zones, to get such statistics as theaverage, standard deviation, etc. Additionally, other types ofstatistical, trend, and machine learning analysis could be used, such asmoving averages, or clustering.

Step 315 performs a shipment cost analysis may include obtaining dataconfigured to perform further types of shipment cost analyses such as: ademand and fulfillment node selection analysis, a shipment and shippingmethod selection analysis, and/or a shipment and carrier selectionanalysis. Then, at 320, one or more reports may be generated based onsuch shipment cost analyses performed which reports are communicatedback to the BI dashboard for presentation and/or review.

Referring now to FIG. 4, there are provided operating methods 400 run atthe Inventory Performance Analysis Engine 144 for determining a rootcause failure analysis of an inventory KPI issue or failure. Forexample, number of item stock-outs before end of season or replenishmentdate at a node or group of nodes, excessively high inventorylevels/failure for inventory to deplete as planned, number ofcancellations at a node, etc. As shown in FIG. 4, this analysis engineis caused to receive data from the OMS and other systems to facilitatethis root cause analysis including, but not limited to: Shipment data152, Inventory data 158, Geo-location data 168 and demand forecastingdata 172—which can represent both ecommerce (online) and walk-in storesales forecasts—that is data-driven predictions of how much demand willbe seen for particular items at particular stores and online and acrossthe network. The first step 405 of the Inventory Performance Analysismethod 400 includes the processing and formatting of the data frommultiple sources such as OMS, IMS, and TMS systems, and includingperforming a data integrity check to verify locations, time zones, etc.For example, checking that inventory values are available for all nodesin the network, and that they are in expected ranges—e.g., no inventoryvalues in the millions and no extreme negative values, no missingvalues, etc. Checking that forecasts are reasonable—meaning they do notpredict impossibly high levels of sales or returns, etc. Continuing at410 of the Inventory Performance Analysis method 400, the analysisengine 144 creates analysis charts and inventory KPIs. At step 410, theinventory performance analysis engine may create inventory KPIs such as,but not limited to: GMROI (gross margin return on inventory investment),an inventory turns KPI at node level. At step 410, the inventoryperformance analysis engine may further create an inventory heat map,and an order cancellation rate KPI at node level.

Continuing at 415, the Inventory Performance Analysis Engine 144operates to perform: 1) an Inventory allocation sanity check, i.e., fordetermining if inventory is allocated close to demand; and 2) anInventory threshold sanity check by analyzing order cancellation rate.These can be done by any number of techniques, using the forecast andinventory data. For example, for (1) it may determine what percentage ofinventory is allocated to be within two shipping zones of forecasteddemand—via aggregation and summarization techniques. If this percentageis too low then immediately it is determined inventory allocation is faroff and if data is accurate would lead to issues down the line likehigher shipping costs. For inventory thresholds, it may do probabilisticmodeling on historical data to determine the relationship betweenthreshold level and cancellation rate (for example, using logisticregression models), and determine with the current thresholds thecancellation rate is likely to be too high. Then, at 420, one or morereports may be generated based on such inventory operations analysesperformed which reports are communicated back to the BI dashboard 108for presentation and/or review, and to enable a user to take immediatecorrective actions.

Referring to FIG. 5, there are provided operating methods 500 run at theOntime delivery analysis engine 146 for determining a root cause failureanalysis of why an order shipment has been delayed, for example, anumber of delayed orders at a node or group of nodes, average time toship an order at a node or group of nodes, average number of daysbetween carrier pick up and customer receipt, etc. As shown in FIG. 5,this analysis engine is caused to receive data from the OMS and othersystems to facilitate this root cause analysis including, but notlimited to: Shipment data 152, Order fulfillment data 174—which capturesthe information around the orders and their sourcing including whatitems were part of each order and which nodes they were assigned to forsourcing and when, Carrier schedule data 176—which captures whenspecific carriers make their pickups from a warehouse or store andarrive at different location, Distributor capacity utilization data178—which captures the how many units or packages can be stored andprocessed, and payment authorization confirmation data 180—whichcaptures when and how payments are finally authorized. The first step505 of the Inventory Performance Analysis method 500 includes theprocessing and formatting of the data from multiple sources such as OMS,IMS, and TMS systems, and including performing a data integrity check toverify locations, time zones, etc. For example, checking that carrierinformation is complete for all node locations in the network (nomissing data). Continuing at 510 of the On-time delivery analysis enginemethod 500, the analysis engine 146 creates abnormality flags. Thus, forexample, at step 510, the on-time delivery analysis engine may createOperations abnormality flags by comparing an expected and actualtimestamp data to flag operations abnormality such as order shippedlate, order picked up by carriers late, order delivered by carrier late,etc. Thus, there may be obtained from the analysis key order checkpointtimes, e.g., order scheduled time, order pick up time, order ship time,actual order pick-up time after shipment time. In one embodiment, thenlogic is implemented to identify from these key order checkpoint timeinformation, a particular reason why a particular shipment may have beenlate or delayed.

Continuing at 515, the on-time delivery analysis engine 146 operates toperform: 1) a shipment delay analysis by implementing logic to identifythe root cause of the shipment delay if multiple operations abnormalitypresents. Then, at 520, one or more reports may be generated based onsuch flagged operations abnormalities analyses performed which reportsare communicated back to the BI dashboard 108 for presentation and/orreview, and to enable a user to take immediate corrective action(s).

Referring back to Shipment coast analysis methods 300 of FIG. 3, theanalysis engine 142 at step 310 automatically creates analysis chartssuch as a demand destination average zone map. FIG. 6 depicts such anexample of a generated demand destination average zone map 600 (averagezone at store level—i.e., the average number of shipment zones traveledfor orders sourced or shipped from each particular node/store to reachtheir destinations—where shipment zones are standard measurements ofdistance used by retailers and carriers like FedEx and UPS). This map600 is a “heat” map depicting average zones at a store level as may bevisualized by the BI dashboard. This average zone at a store level heatmap 600 may result from an analysis conducted to determine why anaverage zone is so high for some stores and not others. In view of FIG.6, the “average zone” is one of the values in a tile 610—it is theaverage number of shipment zones orders from that node must travel toreach the order destination—so for example from historical data it maybe seen for the last 10 k orders sourced to that node, 5 k had to travel4 zones to reach the destination from that node, and 5 k had to travel 5zones, the average zones would be 4.5 (the average number of shipmentzones traveled by orders shipped from that node). For example, each ofthe tiles 610 represents a store and when selected by a user a label 625is generated and displayed which indicates the particular storeidentifier (ID) 620 and an indication 630 of the average size of thevolume of orders generated at that store. Additionally, the size of thetile 610 represents a number of orders or that store's volume of orders.A shade of the tile 610 also indicates the average zone, the darker thebigger. In one embodiment, an average zone value may range anywhere frombetween values of 2-6.5. This would mean on average orders sourcedto/shipped from that node had to or would have to travel on average atleast 2 shipment zones to reach their destination, or at most 6.5shipment zones.

Thus, in one embodiment, business users can identify that among thesestores, more than half have average zone >2, which indicates somelocation or sourcing logic issue. To further answer this question of whysuch issues, another dashboard view may be automatically generated fromthe root cause analysis engine 142 such as shown in FIG. 7 which depictsa plot 700 of average shipment zone to demand points, where the locationof spots 710 are shown plotted against the map 725 of an area, e.g., acountry such as the U.S. In FIG. 7, the size of the spots 710 is anindication of the volume of demand. The shade or color of the spots 710may represent an average zone, e.g., the darker the shade the bigger theaverage zone.

Thus, from FIG. 7, there are shown many high demand locations (big spots710) that have dark colors (high average zone), which indicates thatthere is no big fulfillment center nearby. Such root cause analysisresults of FIGS. 6 and 7 may be presented via the BI dashboard 108 andmay result in a user prompting the enterprise to provide an orderfulfillment center nearer these high demand spots, or at least increasestock of particular products at nearby stores in these zones. That is,the root cause analysis reveals lack of alignment between demand andinventory, and can suggest several possible actions to remedy this—itthus provides a list of possible actions with the reasons why thoseactions would be suitable/address the issue.

The BI system and methods of FIG. 2 when used in conjunction withInBalance Order Fulfillment and Sourcing Engine processing provides asignificant value to business users by monitoring operations disruptionsand accelerating problem diagnosis speed resulting in potentially greatsavings for the customer.

FIG. 8 depicts an example BI dashboard display interface 800 generatedfor a user to indicate a result of implementing the analytics methods ofthe present disclosure. Via the example BI display interface 800 shownin FIG. 8, there is presented an example alert for a particular customerorder 805 generated by the KPI analytics engine 102. In the example, thealert 802 generated indicates a delay in fulfillment of an examplecustomer order 805 at a specific order fulfillment node. In the exampleinterface, the system generates a result of the KPI analytics whichshows a delay in fulfillment orders that that node. The generatedinterface 800 provides links for a user to select in order to drill downand obtain further information regarding the operational details 807 atthe particular node, specifics as to the product source/inventorydetails 808, and further details regarding the networking 809. Thesedata and information 807-809 are used by the Root cause analysis managerin order to determine a root cause 815 for the detected performanceissue, i.e., heavy backlog delays. In the example depicted, the rootcause analysis manager further generates a suggested action 820 forameliorating and/or eliminating the delays at that particularfulfillment node. Based on the root cause analysis conducted for theexample order fulfillment delay as determined by the methods run herein,the BI dashboard display interface 800 may indicate suggested actions toeliminate the issue 805. For example, there may be determined particularsuggested actions 820 to reduce order fulfillment assignments at thatnode. The reasoning behind this suggested action 820 may be adetermination that the node going forward cannot handle the same levelsof load and that the order fulfillment backlog is likely to continue. Inaddition, or alternatively, the analytics engine may determine thatother order fulfillment nodes nearby are less backlogged and havesimilar inventory and that other drastic measures to reduce the backlogmay be determined as unnecessary at this point in time.

FIG. 9 illustrates a schematic of an example computer or processingsystem that may implement continuously tracking business performanceimpact of optimized sourcing algorithms in one embodiment of the presentdisclosure. The computer system is only one example of a suitableprocessing system and is not intended to suggest any limitation as tothe scope of use or functionality of embodiments of the methodologydescribed herein. The processing system shown may be operational withnumerous other general purpose or special purpose computing systemenvironments or configurations. Examples of well-known computingsystems, environments, and/or configurations that may be suitable foruse with the processing system shown in FIG. 9 may include, but are notlimited to, personal computer systems, server computer systems, thinclients, thick clients, handheld or laptop devices, multiprocessorsystems, microprocessor-based systems, set top boxes, programmableconsumer electronics, network PCs, minicomputer systems, mainframecomputer systems, and distributed cloud computing environments thatinclude any of the above systems or devices, and the like.

The computer system may be described in the general context of computersystem executable instructions, such as program modules, being executedby a computer system. Generally, program modules may include routines,programs, objects, components, logic, data structures, and so on thatperform particular tasks or implement particular abstract data types.The computer system may be practiced in distributed cloud computingenvironments where tasks are performed by remote processing devices thatare linked through a communications network. In a distributed cloudcomputing environment, program modules may be located in both local andremote computer system storage media including memory storage devices.

The components of computer system may include, but are not limited to,one or more processors or processing units 12, a system memory 16, and abus 14 that couples various system components including system memory 16to processor 12. The processor 12 may include a module 10 that performsan analytics engine's methods described herein. The module 10 may beprogrammed into the integrated circuits of the processor 12, or loadedfrom memory 16, storage device 18, or network 24 or combinationsthereof.

Bus 14 may represent one or more of any of several types of busstructures, including a memory bus or memory controller, a peripheralbus, an accelerated graphics port, and a processor or local bus usingany of a variety of bus architectures. By way of example, and notlimitation, such architectures include Industry Standard Architecture(ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA)bus, Video Electronics Standards Association (VESA) local bus, andPeripheral Component Interconnects (PCI) bus.

Computer system may include a variety of computer system readable media.Such media may be any available media that is accessible by computersystem, and it may include both volatile and non-volatile media,removable and non-removable media.

System memory 16 can include computer system readable media in the formof volatile memory, such as random access memory (RAM) and/or cachememory or others. Computer system may further include otherremovable/non-removable, volatile/non-volatile computer system storagemedia. By way of example only, storage system 18 can be provided forreading from and writing to a non-removable, non-volatile magnetic media(e.g., a “hard drive”). Although not shown, a magnetic disk drive forreading from and writing to a removable, non-volatile magnetic disk(e.g., a “floppy disk”), and an optical disk drive for reading from orwriting to a removable, non-volatile optical disk such as a CD-ROM,DVD-ROM or other optical media can be provided. In such instances, eachcan be connected to bus 14 by one or more data media interfaces.

Computer system may also communicate with one or more external devices26 such as a keyboard, a pointing device, a display 28, etc.; one ormore devices that enable a user to interact with computer system; and/orany devices (e.g., network card, modem, etc.) that enable computersystem to communicate with one or more other computing devices. Suchcommunication can occur via Input/Output (I/O) interfaces 20.

Still yet, computer system can communicate with one or more networks 24such as a local area network (LAN), a general wide area network (WAN),and/or a public network (e.g., the Internet) via network adapter 22. Asdepicted, network adapter 22 communicates with the other components ofcomputer system via bus 14. It should be understood that although notshown, other hardware and/or software components could be used inconjunction with computer system. Examples include, but are not limitedto: microcode, device drivers, redundant processing units, external diskdrive arrays, RAID systems, tape drives, and data archival storagesystems, etc.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements, if any, in the claims below areintended to include any structure, material, or act for performing thefunction in combination with other claimed elements as specificallyclaimed. The description of the present invention has been presented forpurposes of illustration and description, but is not intended to beexhaustive or limited to the invention in the form disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the invention.The embodiment was chosen and described in order to best explain theprinciples of the invention and the practical application, and to enableothers of ordinary skill in the art to understand the invention forvarious embodiments with various modifications as are suited to theparticular use contemplated.

What is claimed is:
 1. A method of optimizing order-fulfillmentperformance in an order fulfillment system comprising: continuouslymonitoring, at a processor device, data from one or more real-time datastreams, computing at the processor device, based on said data from saidone or more real-time data streams, a performance indicator valueassociated with fulfilling an order for a product in the orderfulfillment system; evaluating, at the processor device said computedperformance indicator value against a predetermined value associatedwith that performance indicator; automatically generating, by saidprocessor device, an alert signal responsive to a computed performanceindicator evaluated as one of: not achieving said predetermined value orexceeding said predetermined value for that performance indicator, saidalert signal indicating a specific issue type associated with one ormore operations performed to fulfill the product order; selecting a rootcause analyzer device from among a plurality of root cause analyzerdevices, said selected root cause analyzer device associated forreal-time diagnosing the specific issue type; communicating said alertsignal to the selected root cause analyzer device to analyze a cause forsaid performance indicator one of: not achieving said predeterminedvalue or exceeding said predetermined value for that performanceindicator; triggering, in response to receiving the alert signal, a rootcause analysis processing at said selected root cause analyzer device toconduct real-time root cause analysis processing thereat; obtainingrelevant data from one or more storage devices storing data used forsaid root cause analysis performed at the selected root cause analyzerdevice; determining, at the selected root cause analyzer device, a rootcause analysis result for the performance indicator, said root causeanalysis result indicating a deficiency or failure of an operationassociated with fulfilling the order in a geographic region; andproviding in real time, via a user interface device, a visualization ofsaid root cause analysis results from the selected root cause analysisdevice, said visualization indicating a recommendation based on saiddeficiency or failure to improve an order fulfillment operation in thegeographic region, wherein a selected root cause analyzer device fromamong a plurality of root cause analyzer devices comprises a processordevice configured to perform a shipment cost analysis on historical dataof shipped orders to a store; and based on said shipment cost analysison historical data, providing via said user interface device a real-timeheat map visualization depicting average zones at a store levelrepresenting an average number of shipment zones orders from a storemust travel to reach an order destination; and using said heat mapvisualization to determine a store location associated within aparticular zone indicated in said heat map to be stocked with additionalproduct inventory for optimizing order fulfillment within the geographicregion.
 2. The method of claim 1, wherein prior to said computing:extracting data relevant from said one or more real-time data streamsrelevant in computing said performance indicator value.
 3. The method ofclaim 1, further comprising: providing, via the user interface device, avisualization of said generated performance indicator.
 4. The method ofclaim 1, wherein said performance indicator is associated with one ormore business operations performed to fulfill a product order by anorder fulfillment management system (OMS).
 5. The method of claim 4,wherein said monitored data of said one or more real-time data streamsincludes order fulfillment data from said OMS, an order fulfillmentoptimization output data, or both said order fulfillment data from saidOMS and an order fulfillment optimization output data.
 6. The method ofclaim 1, wherein responsive to triggering a root cause analysisprocessing at said selected root cause analyzer device, verifying anintegrity of said relevant data used to perform root cause analysis. 7.The method of claim 1, wherein said selected root cause analyzer deviceof said plurality of root cause analyzer devices comprises one of: afirst analysis processing module for real-time diagnosing a specificissue type relating to shipping of a product in fulfilling customerorders for said product; a second analysis processing module forreal-time diagnosing a specific issue type relating to timely deliveryof a product to a customer in fulfilling customer orders for saidproduct; or a third analysis processing module for real-time diagnosinga specific issue type relating to inventory levels of said product asmaintained by an entity resulting from fulfilling customer orders forsaid product.